package com.xjh.basestudy.javabase.Collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class TestLterator {
    public static void main(String[] args) {
        //创建collection集合的对象
        Collection<String> d = new ArrayList<String>();//泛型指的是尖括号，里面写String意思是要存储String类型的数据
        //添加元素，boolean add (E e)
        d.add("hello");//注意，直接输出返回的是true
        d.add("world");

        Iterator<String> it = d.iterator();//创建迭代器对象
        //第一种方法直接输出
       System.out.println(it.next());//输出集合中的一个元素
       System.out.println(it.next());//输出集合中的下一个元素,注意如果只有两个元素，而输出了3个next会报错
        //第二种方法 使用if判断
        //hasNext()，如果迭代具有更多元素，则返回 true 。
        //为了防止多输出next报错，直接做一个判断。
        if(it.hasNext()){
            System.out.println(it.next());
        }
        //第三种方法，使用while循环
        //用while循环改进判断,只用写一次next就可以输出所有next。
        while(it.hasNext()){
//            System.out.println(it.next());
            //拿到字符串元素并不一定要直接输出，还可能需要做其他操作，所以把获取到的元素赋值给一个字符串
            String s = it.next();
            System.out.println(s);
        }
    }

}
